package com.acdc.config.mapper;

import java.util.List;
import com.acdc.config.domain.ElectricityConfig;
import com.acdc.config.domain.ElectricityExecTime;

/**
 * 电价配置Mapper接口
 * 
 * @author acdc
 * @date 2025-05-20
 */
public interface ElectricityConfigMapper 
{
    /**
     * 查询电价配置
     * 
     * @param id 电价配置主键
     * @return 电价配置
     */
    public ElectricityConfig selectElectricityConfigById(Long id);

    /**
     * 查询电价配置列表
     * 
     * @param electricityConfig 电价配置
     * @return 电价配置集合
     */
    public List<ElectricityConfig> selectElectricityConfigList(ElectricityConfig electricityConfig);

    /**
     * 新增电价配置
     * 
     * @param electricityConfig 电价配置
     * @return 结果
     */
    public int insertElectricityConfig(ElectricityConfig electricityConfig);

    /**
     * 修改电价配置
     * 
     * @param electricityConfig 电价配置
     * @return 结果
     */
    public int updateElectricityConfig(ElectricityConfig electricityConfig);

    /**
     * 删除电价配置
     * 
     * @param id 电价配置主键
     * @return 结果
     */
    public int deleteElectricityConfigById(Long id);

    /**
     * 批量删除电价配置
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteElectricityConfigByIds(Long[] ids);

    /**
     * 批量删除电价执行时间段
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteElectricityExecTimeByConfigIds(Long[] ids);
    
    /**
     * 批量新增电价执行时间段
     * 
     * @param electricityExecTimeList 电价执行时间段列表
     * @return 结果
     */
    public int batchElectricityExecTime(List<ElectricityExecTime> electricityExecTimeList);
    

    /**
     * 通过电价配置主键删除电价执行时间段信息
     * 
     * @param id 电价配置ID
     * @return 结果
     */
    public int deleteElectricityExecTimeByConfigId(Long id);
}
